package com.yxx.entityModel.vo.response;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 分类后台Response
 * @author yuxiangxun
 * @date 2025/2/3
 * @apiNote
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "分类后台Response")
public class CategoryBackResponse extends CategoryResponse{
    /**
     * 父级ID
     */
    @ApiModelProperty(value = "父级ID")
    private Integer parentId;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    /**
     * 子分类列表
     * @JsonInclude(JsonInclude.Include.NON_EMPTY)用于控制在序列化 Java 对象为 JSON 时，仅包含非空字段。它的作用是过滤掉值为“空”的字段，使得生成的 JSON 数据更简洁，避免传输冗余信息。
     */
    @ApiModelProperty(value = "子分类列表")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private List<CategoryBackResponse> children;
}
